Skip to content

[yuseok89] WEEK 03 Solutions#2719

Merged
yuseok89 merged 28 commits into
DaleStudy:mainfrom
yuseok89:main
Jul 11, 2026
Merged

[yuseok89] WEEK 03 Solutions#2719
yuseok89 merged 28 commits into
DaleStudy:mainfrom
yuseok89:main

Conversation

@yuseok89

@yuseok89 yuseok89 commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

답안 제출 문제

작성자 체크 리스트

  • Projects의 오른쪽 버튼(▼)을 눌러 확장한 뒤, Week를 현재 주차로 설정해주세요.
  • 문제를 모두 푸시면 프로젝트에서 StatusIn Review로 설정해주세요.
  • 코드 검토자 1분 이상으로부터 승인을 받으셨다면 PR을 병합해주세요.

검토자 체크 리스트

Important

본인 답안 제출 뿐만 아니라 다른 분 PR 하나 이상을 반드시 검토를 해주셔야 합니다!

  • 바로 이전에 올라온 PR에 본인을 코드 리뷰어로 추가해주세요.
  • 본인이 검토해야하는 PR의 답안 코드에 피드백을 주세요.
  • 토요일 전까지 PR을 병합할 수 있도록 승인해주세요.

@dalestudy

dalestudy Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

📊 yuseok89 님의 학습 현황

이번 주 제출 문제

문제 난이도 유형 분석
combination-sum Medium ✅ 의도한 유형
decode-ways Medium ✅ 의도한 유형
maximum-subarray Medium ✅ 의도한 유형
number-of-1-bits Easy ⚠️ 유형 불일치
valid-palindrome Easy ✅ 의도한 유형

누적 학습 요약

  • 풀이한 문제: 10 / 75개
  • 이번 주 유형 일치율: 80% (5문제 중 4문제 일치)

문제 풀이 현황

카테고리 진행도 완료
Array ■■■□□□□ 4 / 10 (Medium 2, Easy 2)
Heap ■■□□□□□ 1 / 3 (Medium 1)
Dynamic Programming ■□□□□□□ 2 / 11 (Easy 1, Medium 1)
Graph ■□□□□□□ 1 / 8 (Medium 1)
String ■□□□□□□ 1 / 10 (Easy 1)
Tree ■□□□□□□ 1 / 14 (Medium 1)
Binary □□□□□□□ 0 / 5 ← 아직 시작 안 함
Interval □□□□□□□ 0 / 5 ← 아직 시작 안 함
Linked List □□□□□□□ 0 / 6 ← 아직 시작 안 함
Matrix □□□□□□□ 0 / 4 ← 아직 시작 안 함

🤖 이 댓글은 GitHub App을 통해 자동으로 작성되었습니다.

🔢 API 사용량 (gpt-5-nano)
요청 입력 토큰 출력 토큰 합계 비용
1 1,682 304 1,986 $0.000206
2 1,680 287 1,967 $0.000199
3 1,906 214 2,120 $0.000181
4 1,902 263 2,165 $0.000200
합계 7,170 1,068 8,238 $0.000786

@yuseok89 yuseok89 moved this from Solving to In Review in 리트코드 스터디 8기 Jul 7, 2026

@alphaorderly alphaorderly left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

깔끔하게 잘 해결하신것 같습니다!

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

해당 풀이는 Immutable 한 string을 하나 더 만들기 때문에 O(N)의 공간복잡도를 가질거에요!
설명
regex없이 two pointer로 접근해보시는것도 좋은 경험이 되실겁니다.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

깔끔하게 잘 해결하신거 같아요!

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

아주 개인적인 의견으로는

  1. for loop안의 if-else 부분도 max로 한줄로 깔끔하게 정리하면 보기 좋을것 같아요!
  2. sum과 ans를 nums[0]으로 설정하셨는데 for loop도 0번 index부터 시작하는건 중복 검사 같네요, 1번 index부터 검사하시는게 로직상 맞지 않을까 하는 생각이 듭니다.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

다 좋으신데, 백트래킹 부분이 너무 복잡한거 같아요
별도의 함수로 제외하지 않고 구현하시면 훨씬 보기 좋게 될거 같아요

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🏷️ 알고리즘 패턴 분석

  • 패턴: Backtracking, Depth-First Search
  • 설명: 이 코드는 후보 배열에서 재귀적으로 모든 조합을 탐색하며, 합이 목표와 같아지면 해를 추가하고, 각 후보를 다시 재귀 호출하는 구조로 Backtracking 패턴을 사용합니다. DFS 방식으로 트리 형태의 탐색 공간을 탐색합니다.

📊 시간/공간 복잡도 분석

복잡도
Time O(k * C)
Space O(k)

피드백: 재귀 깊이가 후보 배열의 길이에 따라 달라지며, 중복 제거 없이 같은 원소를 여러 번 뽑을 수 있도록 구현되어 있다.

개선 제안: 현재 구현이 적절해 보입니다.

💡 풀이에 시간/공간 복잡도를 주석으로 남겨보세요!

Comment thread decode-ways/yuseok89.py

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🏷️ 알고리즘 패턴 분석

  • 패턴: Dynamic Programming, Backtracking
  • 설명: 문제는 문자열 디코딩 방법의 개수를 DP로 점화식으로 계산합니다. 재귀 함수에 메모이제이션을 사용해 중복 계산을 줄이며, 부분 문제를 합쳐 최종 해를 구하는 구조입니다.

📊 시간/공간 복잡도 분석

ℹ️ 이 파일에는 2가지 풀이가 포함되어 있어 각각 분석합니다.

풀이 1: Solution.numDecodings — Time: O(n) / Space: O(n)
복잡도
Time O(n)
Space O(n)

피드백: 상태 수를 줄여 중복 계산을 제거했지만, 재귀 대신 배열 기반 반복으로도 구현 가능하다.

개선 제안: 현재 구현이 적절해 보입니다.

풀이 2: Solution.rec — Time: O(n) / Space: O(n)
복잡도
Time O(n)
Space O(n)

피드백: 입력 길이에 선형적으로 의존하는 동적계획으로 구성되어 있다.

개선 제안: 현재 구현이 적절해 보입니다.

💡 풀이에 시간/공간 복잡도를 주석으로 남겨보세요!

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🏷️ 알고리즘 패턴 분석

  • 패턴: Greedy, Dynamic Programming
  • 설명: 배열을 순회하며 부분 배열의 합을 최적화하는 Kadane 알고리즘으로, 현재 위치의 값과 이전 합의 합을 비교해 누적 합을 갱신하는 관점은 그리디 성격과 DP 점화식의 핵심을 모두 보여줍니다.

📊 시간/공간 복잡도 분석

ℹ️ 이 파일에는 2가지 풀이가 포함되어 있어 각각 분석합니다.

풀이 1: Solution.maxSubArray — Time: ✅ O(N) → O(n) / Space: ✅ O(1) → O(1)
유저 분석 실제 분석 결과
Time O(N) O(n)
Space O(1) O(1)

피드백: 4줄짜리 간결한 구현으로 최적의 시간/공간 복잡도를 달성한다.

개선 제안: 현재 구현이 적절해 보입니다.

풀이 2: Solution.maxSubArray (주석 대안) — Time: O(n) / Space: O(1)
복잡도
Time O(n)
Space O(1)

피드백: 주석은 실행에 영향 없이 대안을 보여준다.

개선 제안: 현재 구현이 적절해 보입니다.

💡 풀이에 시간/공간 복잡도를 주석으로 남겨보세요!

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🏷️ 알고리즘 패턴 분석

  • 패턴: Bit Manipulation
  • 설명: 주어진 코드는 정수의 이진 표현에서 1의 개수를 세는 방식으로, 비트를 직접 다루는 비트 조작 패턴에 해당합니다. 반복문으로 각 비트를 검사하며 1의 개수를 누적합니다.

📊 시간/공간 복잡도 분석

유저 분석 실제 분석 결과
Time O(logN) O(n)
Space O(1) O(1)

피드백: 입력 정수의 비트 수에 비례하는 선형 시간, 상수 공간이다.

개선 제안: 현재 구현이 적절해 보입니다.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🏷️ 알고리즘 패턴 분석

  • 패턴: Two Pointers, Greedy
  • 설명: 문자열을 앞뒤에서 포인터로 이동하며 유효 문자만 비교하는 흐름은 Two Pointers 패턴에 해당합니다. 또한 대칭 비교로 판별하는 구조는 간단한 조건 판단으로 끝나므로 그 자체로 Greedy의 직관적 판단과도 연결됩니다.

📊 시간/공간 복잡도 분석

유저 분석 실제 분석 결과
Time O(N) O(n)
Space O(1) O(1)

피드백: 대소문자 무시 및 비문자 제거를 한 단일 패스로 검사한다.

개선 제안: 현재 구현이 적절해 보입니다.

@yuseok89
yuseok89 merged commit 96af41c into DaleStudy:main Jul 11, 2026
1 check passed
@github-project-automation github-project-automation Bot moved this from In Review to Completed in 리트코드 스터디 8기 Jul 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Completed

Development

Successfully merging this pull request may close these issues.

3 participants